home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_lrm / toc.doc < prev    next >
Text File  |  1996-01-30  |  7KB  |  289 lines

  1.                            16. Table of Contents
  2.  
  3.  
  4.  
  5. 1 Introduction
  6.  
  7. 1.1    Scope of the Standard
  8. 1.1.1  Extent of the Standard
  9. 1.1.2  Conformity of an Implementation with the Standard
  10. 1.1.3  Method of Description
  11. 1.2    Structure of the Standard
  12. 1.3    Design Goals and Sources
  13. 1.4    Language Summary
  14. 1.5    Syntax Notation
  15. 1.6    Classification of Errors
  16.  
  17.  
  18. 2 Lexical Elements
  19.  
  20. 2.1    Character Set
  21. 2.2    Lexical Elements, Separators and Delimiters
  22. 2.3    Identifiers
  23. 2.4    Numeric Literals
  24. 2.4.1  Decimal Literals
  25. 2.4.2  Based Literals
  26. 2.5    Character Literals
  27. 2.6    String Literals
  28. 2.7    Comments
  29. 2.8    Pragmas
  30. 2.9    Reserved Words
  31. 2.10   Allowed Replacements of Characters
  32.  
  33.  
  34. 3 Declarations and Types
  35.  
  36. 3.1    Declarations
  37. 3.2    Objects and Named Numbers
  38. 3.2.1  Object Declarations
  39. 3.2.2  Number Declarations
  40. 3.3    Types and Subtypes
  41. 3.3.1  Type Declarations
  42. 3.3.2  Subtype Declarations
  43. 3.3.3  Classification of Operations
  44. 3.4    Derived Types
  45. 3.5    Scalar Types
  46. 3.5.1  Enumeration Types
  47. 3.5.2  Character Types
  48. 3.5.3  Boolean Types
  49. 3.5.4  Integer Types
  50. 3.5.5  Operations of Discrete Types
  51. 3.5.6  Real Types
  52. 3.5.7  Floating Point Types
  53. 3.5.8  Operations of Floating Point Types
  54. 3.5.9  Fixed Point Types
  55. 3.5.10 Operations of fixed point types
  56. 3.6    Array Types
  57. 3.6.1  Index Constraints and Discrete Ranges
  58. 3.6.2  Operations of Array Types
  59. 3.6.3  The Type String
  60. 3.7    Record Types
  61. 3.7.1  Discriminants
  62. 3.7.2  Discriminant Constraints
  63. 3.7.3  Variant Parts
  64. 3.7.4  Operations of Record Types
  65. 3.8    Access Types
  66. 3.8.1  Incomplete Type Declarations
  67. 3.8.2  Operations of Access Types
  68. 3.9    Declarative Parts
  69.  
  70.  
  71. 4 Names and Expressions
  72.  
  73. 4.1    Names
  74. 4.1.1  Indexed Components
  75. 4.1.2  Slices
  76. 4.1.3  Selected Components
  77. 4.1.4  Attributes
  78. 4.2    Literals
  79. 4.3    Aggregates
  80. 4.3.1  Record Aggregates
  81. 4.3.2  Array Aggregates
  82. 4.4    Expressions
  83. 4.5    Operators and Expression Evaluation
  84. 4.5.1  Logical Operators and Short Circuit Control Forms
  85. 4.5.2  Relational Operators and Membership Tests
  86. 4.5.3  Adding Operators
  87. 4.5.4  Unary Operators
  88. 4.5.5  Multiplying Operators
  89. 4.5.6  Exponentiating Operator
  90. 4.5.7  Accuracy of Operations with Real Operands
  91. 4.6    Type Conversions
  92. 4.7    Qualified Expressions
  93. 4.8    Allocators
  94. 4.9    Static Expressions  and Static Subtypes
  95. 4.10   Universal Expression
  96.  
  97.  
  98. 5 Statements
  99.  
  100. 5.1    Simple and Compound Statements - Sequences of Statements
  101. 5.2    Assignment Statement
  102. 5.2.1  Array Assignments
  103. 5.3    If Statements
  104. 5.4    Case Statements
  105. 5.5    Loop Statements
  106. 5.6    Block Statements
  107. 5.7    Exit Statements
  108. 5.8    Return Statements
  109. 5.9    Goto Statements
  110.  
  111.  
  112. 6 Subprograms
  113.  
  114. 6.1    Subprogram Declarations
  115. 6.2    Formal Parameter Modes
  116. 6.3    Subprogram Bodies
  117. 6.3.1  Conformance Rules
  118. 6.3.2  Inline Expansion of Subprograms
  119. 6.4    Subprogram Calls
  120. 6.4.1  Parameter Associations
  121. 6.4.2  Default Parameters
  122. 6.5    Function Subprograms
  123. 6.6    Parameter and Result Type Profile - Overloading of Subprograms
  124. 6.7    Overloading of Operators
  125.  
  126.  
  127. 7 Packages
  128.  
  129. 7.1    Package Structure
  130. 7.2    Package Specifications and Declarations
  131. 7.3    Package Bodies
  132. 7.4    Private Type and Deferred Constant Declarations
  133. 7.4.1  Private Types
  134. 7.4.2  Operations of a Private Type
  135. 7.4.3  Deferred Constants
  136. 7.4.4  Limited Types
  137. 7.5    Example of a Table Management Package
  138. 7.6    Example of a Text Handling Package
  139.  
  140.  
  141. 8 Visibility Rules
  142.  
  143. 8.1    Declarative Region
  144. 8.2    Scope of Declarations
  145. 8.3    Visibility
  146. 8.4    Use Clauses
  147. 8.5    Renaming Declarations
  148. 8.6    The Package Standard
  149. 8.7    The Context of Overload Resolution
  150.  
  151.  
  152. 9      Tasks
  153.  
  154. 9.1    Task Specifications and Task Bodies
  155. 9.2    Task Types and Task Objects
  156. 9.3    Task Execution - Task Activation
  157. 9.4     Task Dependence - Termination of Tasks
  158. 9.5     Entries, Entry Calls and Accept Statements
  159. 9.6     Delay Statements, Duration and Time
  160. 9.7     Select Statements
  161. 9.7.1   Selective Waits
  162. 9.7.2   Conditional Entry Calls
  163. 9.7.3   Timed Entry Calls
  164. 9.8     Priorities
  165. 9.9     Task and Entry Attributes
  166. 9.10    Abort Statements
  167. 9.11    Shared Variables
  168. 9.12    Example of Tasking
  169.  
  170.  
  171. 10 Program Structure and Compilation Issues
  172.  
  173. 10.1    Compilation Units - Library Units
  174. 10.1.1  Context Clauses - With Clauses
  175. 10.1.2  Examples of Compilation Units
  176. 10.2    Subunits of Compilation Units
  177. 10.2.1  Examples of Subunits
  178. 10.3    Order of Compilation
  179. 10.4    The Program Library
  180. 10.5    Elaboration of Library Units
  181. 10.6    Program Optimization
  182.  
  183.  
  184. 11 Exceptions
  185.  
  186. 11.1     Exception Declarations
  187. 11.2    Exception Handlers
  188. 11.3    Raise Statements
  189. 11.4    Exception Handling
  190. 11.4.1  Exceptions Raised During the Execution of Statements
  191. 11.4.2  Exceptions Raised During the Elaboration of Declarations
  192. 11.5    Exceptions Raised During Task Communication
  193. 11.6    Exceptions and Optimization
  194. 11.7    Suppressing Checks
  195.  
  196.  
  197. 12 Generic Units
  198.  
  199. 12.1    Generic Declarations
  200. 12.1.1  Generic Formal Objects
  201. 12.1.2  Generic Formal Types
  202. 12.1.3  Generic Formal Subprograms
  203. 12.2    Generic Bodies
  204. 12.3    Generic Instantiation
  205. 12.3.1  Matching Rules for Formal Objects
  206. 12.3.2  Matching Rules for Formal Private Types
  207. 12.3.3  Matching Rules for Formal Scalar Types
  208. 12.3.4  Matching Rules for Formal Array Types
  209. 12.3.5  Matching Rules for Formal Access Types
  210. 12.3.6  Matching Rules for Formal Subprograms
  211. 12.4    Example of a Generic Package
  212.  
  213.  
  214. 13 Representation Clauses and Implementation Dependent Features
  215.  
  216. 13.1    Representation Clauses
  217. 13.2    Length Clause
  218. 13.3    Enumeration Representation Clauses
  219. 13.4    Record Representation Clauses
  220. 13.5    Address Clauses
  221. 13.5.1  Interrupts
  222. 13.6    Change of Representation
  223. 13.7    The Package System
  224. 13.7.1  System Dependent Named Numbers
  225. 13.7.2  Representation Attributes
  226. 13.7.3  Representation Attributes of Real Types
  227. 13.8    Machine Code Insertions
  228. 13.9    Interface to other Languages
  229. 13.10   Unchecked Programming
  230. 13.10.1 Unchecked Storage Deallocation
  231. 13.10.2 Unchecked Type Conversions
  232.  
  233.  
  234. 14 Input-Output
  235.  
  236. 14.1    External Files and File Objects
  237. 14.2    Sequential and Direct Files
  238. 14.2.1  File Management
  239. 14.2.2  Sequential Input-Output
  240. 14.2.3  Specification of the Package Sequential_IO
  241. 14.2.4  Direct Input-Output
  242. 14.2.5  Specification of the Package Direct_IO
  243. 14.3    Text Input-Output
  244. 14.3.1  File Management
  245. 14.3.2  Default Input and Output Files
  246. 14.3.3  Specification of Line and Page Lengths
  247. 14.3.4  Operations on Columns, Lines and Pages
  248. 14.3.5  GET and PUT Procedures
  249. 14.3.6  Input-output of Characters and Strings
  250. 14.3.7  Input-Output for Integer Types
  251. 14.3.8  Input-Output for Real Types
  252. 14.3.9  Input-Output for Enumeration Types
  253. 14.3.10 Specification of the Package TEXT_IO
  254. 14.4    Exceptions in Input-Output
  255. 14.5    Specification of the Package IO_EXCEPTIONS
  256. 14.6    Low Level Input-Output
  257. 14.7    Example of Input-Output
  258.  
  259.  
  260. Annexes
  261.  
  262. A Predefined Language Attributes
  263.  
  264. B Predefined Language Pragmas
  265.  
  266. C Predefined Language Environment
  267.  
  268.  
  269. Appendices
  270.  
  271. D Glossary
  272.  
  273. E Syntax Summary
  274.  
  275. F Implementation Dependent Characteristics
  276.        
  277.  
  278. Index
  279.  
  280.  
  281. Postscript: Submission of Comments
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.